<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>libflac.js 5.4.0</title>
    
    
    
        <meta name="keywords" content="flac, javascript, emscripten" />
        <meta name="keyword" content="flac, javascript, emscripten" />
    
    
    
    <meta property="og:title" content="libflac.js API 5.4.0"/>
    <meta property="og:type" content="website"/>
    <meta property="og:image" content=""/>
    <meta property="og:site_name" content="libflac.js"/>
    <meta property="og:url" content="https://github.com/mmig/libflac.js"/>
    
    <script src="scripts/prettify/prettify.js"></script>
    <script src="scripts/prettify/lang-css.js"></script>
    <script src="scripts/jquery.min.js"></script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
    <link type="text/css" rel="stylesheet" href="styles/jaguar.css">

    
    <script>
    var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":false,"includeDate":false},"navType ":"inline","linenums":true,"theme":"cerulean","copyright":"<a target='_blank' href='https://github.com/mmig/libflac.js'>libflac.js</a>","applicationName":"libflac.js","disqus":"","googleAnalytics":"","openGraph":{"title":"libflac.js API 5.4.0","type":"website","site_name":"libflac.js","url":"https://github.com/mmig/libflac.js"},"meta":{"title":"libflac.js 5.4.0","description":"","keyword":"flac, javascript, emscripten"},"sourceLinks":false};
    </script>
    

    
</head>
<body>
<div id="wrap" class="clearfix">
    
<div class="navigation">
    <h3 class="applicationName"><a href="index.html">libflac.js</a></h3>

    <div class="search">
        <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentation">
    </div>
    <ul class="list">
    
        <h3 class="typeHeading">Namespaces</h3>
        
            <li class="item" data-name="Flac.html">
                <span class="title">
                    <a href="Flac.html">Flac</a>
                    
                    <span class="static">static</span>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                <span class="subtitle">Typedefs</span>
                
                    <li data-name="Flac~decoder_error_callback_fn"><a href="Flac.html#~decoder_error_callback_fn">decoder_error_callback_fn</a></li>
                
                    <li data-name="Flac~decoder_read_callback_fn"><a href="Flac.html#~decoder_read_callback_fn">decoder_read_callback_fn</a></li>
                
                    <li data-name="Flac~decoder_write_callback_fn"><a href="Flac.html#~decoder_write_callback_fn">decoder_write_callback_fn</a></li>
                
                    <li data-name="Flac~encoder_write_callback_fn"><a href="Flac.html#~encoder_write_callback_fn">encoder_write_callback_fn</a></li>
                
                    <li data-name="Flac~metadata_callback_fn"><a href="Flac.html#~metadata_callback_fn">metadata_callback_fn</a></li>
                
                </ul>
                <ul class="typedefs itemMembers">
                
                <span class="subtitle">Interfaces</span>
                
                    <li data-name="Flac.ApplicationMetadata"><a href="Flac.ApplicationMetadata.html">ApplicationMetadata</a></li>
                
                    <li data-name="Flac.BlockMetadata"><a href="Flac.BlockMetadata.html">BlockMetadata</a></li>
                
                    <li data-name="Flac.CoderChangedEventData"><a href="Flac.CoderChangedEventData.html">CoderChangedEventData</a></li>
                
                    <li data-name="Flac.CodingOptions"><a href="Flac.CodingOptions.html">CodingOptions</a></li>
                
                    <li data-name="Flac.CompletedReadResult"><a href="Flac.CompletedReadResult.html">CompletedReadResult</a></li>
                
                    <li data-name="Flac.CompressionLevel"><a href="Flac.CompressionLevel.html">CompressionLevel</a></li>
                
                    <li data-name="Flac.CueSheetMetadata"><a href="Flac.CueSheetMetadata.html">CueSheetMetadata</a></li>
                
                    <li data-name="Flac.CueSheetTracIndex"><a href="Flac.CueSheetTracIndex.html">CueSheetTracIndex</a></li>
                
                    <li data-name="Flac.CueSheetTrack"><a href="Flac.CueSheetTrack.html">CueSheetTrack</a></li>
                
                    <li data-name="Flac.FixedSubFrameData"><a href="Flac.FixedSubFrameData.html">FixedSubFrameData</a></li>
                
                    <li data-name="Flac.FLAC__ChannelAssignment"><a href="Flac.FLAC__ChannelAssignment.html">FLAC__ChannelAssignment</a></li>
                
                    <li data-name="Flac.FLAC__EntropyCodingMethodType"><a href="Flac.FLAC__EntropyCodingMethodType.html">FLAC__EntropyCodingMethodType</a></li>
                
                    <li data-name="Flac.FLAC__MetadataType"><a href="Flac.FLAC__MetadataType.html">FLAC__MetadataType</a></li>
                
                    <li data-name="Flac.FLAC__StreamDecoderErrorStatus"><a href="Flac.FLAC__StreamDecoderErrorStatus.html">FLAC__StreamDecoderErrorStatus</a></li>
                
                    <li data-name="Flac.FLAC__StreamDecoderInitStatus"><a href="Flac.FLAC__StreamDecoderInitStatus.html">FLAC__StreamDecoderInitStatus</a></li>
                
                    <li data-name="Flac.FLAC__StreamDecoderState"><a href="Flac.FLAC__StreamDecoderState.html">FLAC__StreamDecoderState</a></li>
                
                    <li data-name="Flac.FLAC__StreamEncoderInitStatus"><a href="Flac.FLAC__StreamEncoderInitStatus.html">FLAC__StreamEncoderInitStatus</a></li>
                
                    <li data-name="Flac.FLAC__StreamEncoderState"><a href="Flac.FLAC__StreamEncoderState.html">FLAC__StreamEncoderState</a></li>
                
                    <li data-name="Flac.FLAC__StreamMetadata_Picture_Type"><a href="Flac.FLAC__StreamMetadata_Picture_Type.html">FLAC__StreamMetadata_Picture_Type</a></li>
                
                    <li data-name="Flac.FLAC__SubframeType"><a href="Flac.FLAC__SubframeType.html">FLAC__SubframeType</a></li>
                
                    <li data-name="Flac.LPCSubFrameData"><a href="Flac.LPCSubFrameData.html">LPCSubFrameData</a></li>
                
                    <li data-name="Flac.Metadata"><a href="Flac.Metadata.html">Metadata</a></li>
                
                    <li data-name="Flac.MetadataBlock"><a href="Flac.MetadataBlock.html">MetadataBlock</a></li>
                
                    <li data-name="Flac.PaddingMetadata"><a href="Flac.PaddingMetadata.html">PaddingMetadata</a></li>
                
                    <li data-name="Flac.PictureMetadata"><a href="Flac.PictureMetadata.html">PictureMetadata</a></li>
                
                    <li data-name="Flac.PointerInfo"><a href="Flac.PointerInfo.html">PointerInfo</a></li>
                
                    <li data-name="Flac.ReadResult"><a href="Flac.ReadResult.html">ReadResult</a></li>
                
                    <li data-name="Flac.SeekPoint"><a href="Flac.SeekPoint.html">SeekPoint</a></li>
                
                    <li data-name="Flac.SeekTableMetadata"><a href="Flac.SeekTableMetadata.html">SeekTableMetadata</a></li>
                
                    <li data-name="Flac.StreamMetadata"><a href="Flac.StreamMetadata.html">StreamMetadata</a></li>
                
                    <li data-name="Flac.SubFrameMetadata"><a href="Flac.SubFrameMetadata.html">SubFrameMetadata</a></li>
                
                    <li data-name="Flac.SubFramePartition"><a href="Flac.SubFramePartition.html">SubFramePartition</a></li>
                
                    <li data-name="Flac.SubFramePartitionContent"><a href="Flac.SubFramePartitionContent.html">SubFramePartitionContent</a></li>
                
                    <li data-name="Flac.SubFramePartitionData"><a href="Flac.SubFramePartitionData.html">SubFramePartitionData</a></li>
                
                    <li data-name="Flac.VorbisCommentMetadata"><a href="Flac.VorbisCommentMetadata.html">VorbisCommentMetadata</a></li>
                
                </ul>
                <ul class="methods itemMembers">
                
                <span class="subtitle">Methods</span>
                
                    <li data-name="Flac#_create_pointer_array"><a href="Flac.html#_create_pointer_array">_create_pointer_array</a></li>
                
                    <li data-name="Flac#_destroy_pointer_array"><a href="Flac.html#_destroy_pointer_array">_destroy_pointer_array</a></li>
                
                    <li data-name="Flac#create_libflac_decoder"><a href="Flac.html#create_libflac_decoder">create_libflac_decoder</a></li>
                
                    <li data-name="Flac#create_libflac_encoder"><a href="Flac.html#create_libflac_encoder">create_libflac_encoder</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_delete"><a href="Flac.html#FLAC__stream_decoder_delete">FLAC__stream_decoder_delete</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_finish"><a href="Flac.html#FLAC__stream_decoder_finish">FLAC__stream_decoder_finish</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_get_md5_checking"><a href="Flac.html#FLAC__stream_decoder_get_md5_checking">FLAC__stream_decoder_get_md5_checking</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_get_state"><a href="Flac.html#FLAC__stream_decoder_get_state">FLAC__stream_decoder_get_state</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_process_single"><a href="Flac.html#FLAC__stream_decoder_process_single">FLAC__stream_decoder_process_single</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_process_until_end_of_metadata"><a href="Flac.html#FLAC__stream_decoder_process_until_end_of_metadata">FLAC__stream_decoder_process_until_end_of_metadata</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_process_until_end_of_stream"><a href="Flac.html#FLAC__stream_decoder_process_until_end_of_stream">FLAC__stream_decoder_process_until_end_of_stream</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_reset"><a href="Flac.html#FLAC__stream_decoder_reset">FLAC__stream_decoder_reset</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_md5_checking"><a href="Flac.html#FLAC__stream_decoder_set_md5_checking">FLAC__stream_decoder_set_md5_checking</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_metadata_ignore"><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore">FLAC__stream_decoder_set_metadata_ignore</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_metadata_ignore_all"><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore_all">FLAC__stream_decoder_set_metadata_ignore_all</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_metadata_ignore_application"><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore_application">FLAC__stream_decoder_set_metadata_ignore_application</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_metadata_respond"><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond">FLAC__stream_decoder_set_metadata_respond</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_metadata_respond_all"><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_all">FLAC__stream_decoder_set_metadata_respond_all</a></li>
                
                    <li data-name="Flac#FLAC__stream_decoder_set_metadata_respond_application"><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_application">FLAC__stream_decoder_set_metadata_respond_application</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_delete"><a href="Flac.html#FLAC__stream_encoder_delete">FLAC__stream_encoder_delete</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_finish"><a href="Flac.html#FLAC__stream_encoder_finish">FLAC__stream_encoder_finish</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_get_state"><a href="Flac.html#FLAC__stream_encoder_get_state">FLAC__stream_encoder_get_state</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_get_verify"><a href="Flac.html#FLAC__stream_encoder_get_verify">FLAC__stream_encoder_get_verify</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_get_verify_decoder_state"><a href="Flac.html#FLAC__stream_encoder_get_verify_decoder_state">FLAC__stream_encoder_get_verify_decoder_state</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_process"><a href="Flac.html#FLAC__stream_encoder_process">FLAC__stream_encoder_process</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_process_interleaved"><a href="Flac.html#FLAC__stream_encoder_process_interleaved">FLAC__stream_encoder_process_interleaved</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_set_blocksize"><a href="Flac.html#FLAC__stream_encoder_set_blocksize">FLAC__stream_encoder_set_blocksize</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_set_compression_level"><a href="Flac.html#FLAC__stream_encoder_set_compression_level">FLAC__stream_encoder_set_compression_level</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_set_metadata"><a href="Flac.html#FLAC__stream_encoder_set_metadata">FLAC__stream_encoder_set_metadata</a></li>
                
                    <li data-name="Flac#FLAC__stream_encoder_set_verify"><a href="Flac.html#FLAC__stream_encoder_set_verify">FLAC__stream_encoder_set_verify</a></li>
                
                    <li data-name="Flac#getOptions"><a href="Flac.html#getOptions">getOptions</a></li>
                
                    <li data-name="Flac#init_decoder_ogg_stream"><a href="Flac.html#init_decoder_ogg_stream">init_decoder_ogg_stream</a></li>
                
                    <li data-name="Flac#init_decoder_stream"><a href="Flac.html#init_decoder_stream">init_decoder_stream</a></li>
                
                    <li data-name="Flac#init_encoder_ogg_stream"><a href="Flac.html#init_encoder_ogg_stream">init_encoder_ogg_stream</a></li>
                
                    <li data-name="Flac#init_encoder_stream"><a href="Flac.html#init_encoder_stream">init_encoder_stream</a></li>
                
                    <li data-name="Flac#init_libflac_decoder"><a href="Flac.html#init_libflac_decoder">init_libflac_decoder</a></li>
                
                    <li data-name="Flac#init_libflac_encoder"><a href="Flac.html#init_libflac_encoder">init_libflac_encoder</a></li>
                
                    <li data-name="Flac#isReady"><a href="Flac.html#isReady">isReady</a></li>
                
                    <li data-name="Flac#off"><a href="Flac.html#off">off</a></li>
                
                    <li data-name="Flac#on"><a href="Flac.html#on">on</a></li>
                
                    <li data-name="Flac#onready"><a href="Flac.html#onready">onready</a></li>
                
                    <li data-name="Flac#setOptions"><a href="Flac.html#setOptions">setOptions</a></li>
                
                </ul>
                <ul class="events itemMembers">
                
                <span class="subtitle">Events</span>
                
                    <li data-name="Flac.event:CreatedEvent"><a href="Flac.html#.event:CreatedEvent">CreatedEvent</a></li>
                
                    <li data-name="Flac.event:DestroyedEvent"><a href="Flac.html#.event:DestroyedEvent">DestroyedEvent</a></li>
                
                    <li data-name="Flac.event:ReadyEvent"><a href="Flac.html#.event:ReadyEvent">ReadyEvent</a></li>
                
                </ul>
            </li>
        
      
        <h3 class="typeHeading">Interfaces</h3>
        
            <li class="item" data-name="Flac.ApplicationMetadata.html">
                <span class="title">
                    <a href="Flac.ApplicationMetadata.html">ApplicationMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.BlockMetadata.html">
                <span class="title">
                    <a href="Flac.BlockMetadata.html">BlockMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CoderChangedEventData.html">
                <span class="title">
                    <a href="Flac.CoderChangedEventData.html">CoderChangedEventData</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CodingOptions.html">
                <span class="title">
                    <a href="Flac.CodingOptions.html">CodingOptions</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CompletedReadResult.html">
                <span class="title">
                    <a href="Flac.CompletedReadResult.html">CompletedReadResult</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CompressionLevel.html">
                <span class="title">
                    <a href="Flac.CompressionLevel.html">CompressionLevel</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CueSheetMetadata.html">
                <span class="title">
                    <a href="Flac.CueSheetMetadata.html">CueSheetMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CueSheetTracIndex.html">
                <span class="title">
                    <a href="Flac.CueSheetTracIndex.html">CueSheetTracIndex</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.CueSheetTrack.html">
                <span class="title">
                    <a href="Flac.CueSheetTrack.html">CueSheetTrack</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FixedSubFrameData.html">
                <span class="title">
                    <a href="Flac.FixedSubFrameData.html">FixedSubFrameData</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__ChannelAssignment.html">
                <span class="title">
                    <a href="Flac.FLAC__ChannelAssignment.html">FLAC__ChannelAssignment</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__EntropyCodingMethodType.html">
                <span class="title">
                    <a href="Flac.FLAC__EntropyCodingMethodType.html">FLAC__EntropyCodingMethodType</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__MetadataType.html">
                <span class="title">
                    <a href="Flac.FLAC__MetadataType.html">FLAC__MetadataType</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__StreamDecoderErrorStatus.html">
                <span class="title">
                    <a href="Flac.FLAC__StreamDecoderErrorStatus.html">FLAC__StreamDecoderErrorStatus</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__StreamDecoderInitStatus.html">
                <span class="title">
                    <a href="Flac.FLAC__StreamDecoderInitStatus.html">FLAC__StreamDecoderInitStatus</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__StreamDecoderState.html">
                <span class="title">
                    <a href="Flac.FLAC__StreamDecoderState.html">FLAC__StreamDecoderState</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__StreamEncoderInitStatus.html">
                <span class="title">
                    <a href="Flac.FLAC__StreamEncoderInitStatus.html">FLAC__StreamEncoderInitStatus</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__StreamEncoderState.html">
                <span class="title">
                    <a href="Flac.FLAC__StreamEncoderState.html">FLAC__StreamEncoderState</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__StreamMetadata_Picture_Type.html">
                <span class="title">
                    <a href="Flac.FLAC__StreamMetadata_Picture_Type.html">FLAC__StreamMetadata_Picture_Type</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.FLAC__SubframeType.html">
                <span class="title">
                    <a href="Flac.FLAC__SubframeType.html">FLAC__SubframeType</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.LPCSubFrameData.html">
                <span class="title">
                    <a href="Flac.LPCSubFrameData.html">LPCSubFrameData</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.Metadata.html">
                <span class="title">
                    <a href="Flac.Metadata.html">Metadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.MetadataBlock.html">
                <span class="title">
                    <a href="Flac.MetadataBlock.html">MetadataBlock</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.PaddingMetadata.html">
                <span class="title">
                    <a href="Flac.PaddingMetadata.html">PaddingMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.PictureMetadata.html">
                <span class="title">
                    <a href="Flac.PictureMetadata.html">PictureMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.PointerInfo.html">
                <span class="title">
                    <a href="Flac.PointerInfo.html">PointerInfo</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.ReadResult.html">
                <span class="title">
                    <a href="Flac.ReadResult.html">ReadResult</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.SeekPoint.html">
                <span class="title">
                    <a href="Flac.SeekPoint.html">SeekPoint</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.SeekTableMetadata.html">
                <span class="title">
                    <a href="Flac.SeekTableMetadata.html">SeekTableMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.StreamMetadata.html">
                <span class="title">
                    <a href="Flac.StreamMetadata.html">StreamMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.SubFrameMetadata.html">
                <span class="title">
                    <a href="Flac.SubFrameMetadata.html">SubFrameMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.SubFramePartition.html">
                <span class="title">
                    <a href="Flac.SubFramePartition.html">SubFramePartition</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.SubFramePartitionContent.html">
                <span class="title">
                    <a href="Flac.SubFramePartitionContent.html">SubFramePartitionContent</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.SubFramePartitionData.html">
                <span class="title">
                    <a href="Flac.SubFramePartitionData.html">SubFramePartitionData</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
            <li class="item" data-name="Flac.VorbisCommentMetadata.html">
                <span class="title">
                    <a href="Flac.VorbisCommentMetadata.html">VorbisCommentMetadata</a>
                    
                </span>
                <ul class="members itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="typedefs itemMembers">
                
                </ul>
                <ul class="methods itemMembers">
                
                </ul>
                <ul class="events itemMembers">
                
                </ul>
            </li>
        
      
    </ul>
</div>

    <div class="main">
        <h1 class="page-title" data-filename="Flac.html">Namespace: Flac</h1>
        



<section>

<header>
    <h2>
    Flac
    </h2>
    
</header>

<article>
    <div class="container-overview">
    

    
        
            <div class="description">The <code>Flac</code> module that provides functionalityfor encoding WAV/PCM audio to Flac and decoding Flac to PCM.<br/><br/><p>NOTE most functions are named analogous to the original C library functions,     so that its documentation may be used for further reading.</p></div>
        

        
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a target='_blank' href="https://xiph.org/flac/api/group__flac__stream__encoder.html">https://xiph.org/flac/api/group__flac__stream__encoder.html</a></li>
        
            <li><a target='_blank' href="https://xiph.org/flac/api/group__flac__stream__decoder.html">https://xiph.org/flac/api/group__flac__stream__decoder.html</a></li>
        </ul>
    </dd>
    

    
</dl>


        
    
    </div>

    

    

    

    

    

    

    
        <h3 class="subsection-title">Methods</h3>

        <dl>
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="_create_pointer_array">
            
            _create_pointer_array<span class="signature">(bufferArray)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.PointerInfo.html">Flac.PointerInfo</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Helper function for creating pointer (and allocating the data) to an array of buffers on the (memory) heap.Use the returned <code>PointerInfo.dataPointer</code> as argument, where the array-pointer is required.NOTE: afer use, the allocated buffers on the heap need be freed, see <a href="Flac.html#_destroy_pointer_array"><code>_destroy_pointer_array</code></a>.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>bufferArray</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;<a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</a>></span>



            
            </td>

            

            <td class="description last">
                
                the buffer for which to create</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#_destroy_pointer_array">Flac#_destroy_pointer_array</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.PointerInfo.html">Flac.PointerInfo</a>
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="_destroy_pointer_array">
            
            _destroy_pointer_array<span class="signature">(pointerInfo)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Helper function for destroying/freeing a previously created pointer (and allocating the data) of an array of buffers on the (memory) heap.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>pointerInfo</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.PointerInfo.html">Flac.PointerInfo</a></span>



            
            </td>

            

            <td class="description last">
                
                the pointer / allocation information that should be destroyed/freed</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#_create_pointer_array">Flac#_create_pointer_array</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="create_libflac_decoder">
            
            create_libflac_decoder<span class="signature">(<span class="optional">is_verify</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Create a decoder.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>is_verify</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                enable/disable checksum verification during decoding<br>				DEFAULT: true</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        number
                        
                    
            </td>
            <td class="description last">the ID of the created decoder instance (or 0, if there was an error)</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="create_libflac_encoder">
            
            create_libflac_encoder<span class="signature">(sample_rate, channels, bps, compression_level, <span class="optional">total_samples</span>, <span class="optional">is_verify</span>, <span class="optional">block_size</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Create an encoder.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>sample_rate</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the sample rate of the input PCM data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>channels</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the number of channels of the input PCM data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>bps</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                bits per sample of the input PCM data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compression_level</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.CompressionLevel.html">Flac.CompressionLevel</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the desired Flac compression level: [0, 8]</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>total_samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL					the number of total samples of the input PCM data:<br>					 Sets an estimate of the total samples that will be encoded.					 This is merely an estimate and may be set to 0 if unknown.					 This value will be written to the STREAMINFO block before encoding,					 and can remove the need for the caller to rewrite the value later if					 the value is known before encoding.<br>					If specified, the it will be written into metadata of the FLAC header.<br>					DEFAULT: 0 (i.e. unknown number of samples)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>is_verify</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL					enable/disable checksum verification during encoding<br>					DEFAULT: true<br>					NOTE: this argument is positional (i.e. total_samples must also be given)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>block_size</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL					the number of samples to use per frame.<br>					DEFAULT: 0 (i.e. encoder sets block size automatically)					NOTE: this argument is positional (i.e. total_samples and is_verify must also be given)</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        number
                        
                    
            </td>
            <td class="description last">the ID of the created encoder instance (or 0, if there was an error)</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_delete">
            
            FLAC__stream_decoder_delete<span class="signature">(decoder)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Delete the decoder instance, and free up its resources.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_finish">
            
            FLAC__stream_decoder_finish<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Finish the decoding process.The decoder can be reused, after initializing it again.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if MD5 checking is on AND a STREAMINFO block was available AND the MD5 signature in						 the STREAMINFO block was non-zero AND the signature does not match the one computed by the decoder;						 else <code>true</code>.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_get_md5_checking">
            
            FLAC__stream_decoder_get_md5_checking<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Get if MD5 verification is enabled for the decoder
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_md5_checking"><code>FLAC__stream_decoder_set_md5_checking</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>true</code> if MD5 verification is enabled</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_get_state">
            
            FLAC__stream_decoder_get_state<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamDecoderState.html">Flac.FLAC__StreamDecoderState</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamDecoderState.html">Flac.FLAC__StreamDecoderState</a>
                        
                    
            </td>
            <td class="description last">the decoder state</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_process_single">
            
            FLAC__stream_decoder_process_single<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Decodes a single frame.To check decoding progress, use <a href="Flac.html#FLAC__stream_decoder_get_state"><code>FLAC__stream_decoder_get_state</code></a>.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">FALSE if an error occurred</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_process_until_end_of_metadata">
            
            FLAC__stream_decoder_process_until_end_of_metadata<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Decodes data until end of metadata.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">false if any fatal read, write, or memory allocation error occurred (meaning decoding must stop), else true.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_process_until_end_of_stream">
            
            FLAC__stream_decoder_process_until_end_of_stream<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Decodes data until end of stream.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">FALSE if an error occurred</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_reset">
            
            FLAC__stream_decoder_reset<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Reset the decoder for reuse.<p>NOTE: Needs to be re-initialized, before it can be used again
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#init_decoder_stream"><code>init_decoder_stream</code></a></li>
        
            <li><a href="Flac.html#init_decoder_ogg_stream"><code>init_decoder_ogg_stream</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">true if successful</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_md5_checking">
            
            FLAC__stream_decoder_set_md5_checking<span class="signature">(decoder, is_verify)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Set the "MD5 signature checking" flag. If true, the decoder will compute the MD5 signature of the unencoded audio data while decoding and compare it to the signature from the STREAMINFO block,if it exists, during <code>FLAC__stream_decoder_finish()</code>.MD5 signature checking will be turned off (until the next <code>FLAC__stream_decoder_reset()</code>) if there is no signature in the STREAMINFO block or when a seek is attempted.Clients that do not use the MD5 check should leave this off to speed up decoding.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>is_verify</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            

            <td class="description last">
                
                enable/disable checksum verification during decoding</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_get_md5_checking"><code>FLAC__stream_decoder_get_md5_checking</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">FALSE if the decoder is already initialized, else TRUE.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_metadata_ignore">
            
            FLAC__stream_decoder_set_metadata_ignore<span class="signature">(decoder, type)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Direct the decoder to filter out all metadata blocks of type type.By default, only the STREAMINFO block is returned via the metadata callback.<p>NOTE: only use on un-initilized decoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__MetadataType.html">Flac.FLAC__MetadataType</a></span>



            
            </td>

            

            <td class="description last">
                
                the metadata type to be ignored</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore_all">Flac#FLAC__stream_decoder_set_metadata_ignore_all</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_metadata_ignore_all">
            
            FLAC__stream_decoder_set_metadata_ignore_all<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Direct the decoder to filter out all metadata blocks of any type.By default, only the STREAMINFO block is returned via the metadata callback.<p>NOTE: only use on un-initilized decoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_all">Flac#FLAC__stream_decoder_set_metadata_respond_all</a></li>
        
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore">Flac#FLAC__stream_decoder_set_metadata_ignore</a></li>
        
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore_application">Flac#FLAC__stream_decoder_set_metadata_ignore_application</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_metadata_ignore_application">
            
            FLAC__stream_decoder_set_metadata_ignore_application<span class="signature">(decoder, id)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Direct the decoder to filter out all APPLICATION metadata blocks of the given id.By default, only the STREAMINFO block is returned via the metadata callback.<p>NOTE: only use on un-initilized decoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>id</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of application metadata</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore_all">Flac#FLAC__stream_decoder_set_metadata_ignore_all</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_metadata_respond">
            
            FLAC__stream_decoder_set_metadata_respond<span class="signature">(decoder, type)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Direct the decoder to pass on all metadata blocks of type type.By default, only the STREAMINFO block is returned via the metadata callback.<p>NOTE: only use on un-initilized decoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__MetadataType.html">Flac.FLAC__MetadataType</a></span>



            
            </td>

            

            <td class="description last">
                
                the metadata type to be enabled</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_all">Flac#FLAC__stream_decoder_set_metadata_respond_all</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_metadata_respond_all">
            
            FLAC__stream_decoder_set_metadata_respond_all<span class="signature">(decoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Direct the decoder to pass on all metadata blocks of any type.By default, only the STREAMINFO block is returned via the metadata callback.<p>NOTE: only use on un-initilized decoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_ignore_all">Flac#FLAC__stream_decoder_set_metadata_ignore_all</a></li>
        
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_application">Flac#FLAC__stream_decoder_set_metadata_respond_application</a></li>
        
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond">Flac#FLAC__stream_decoder_set_metadata_respond</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_decoder_set_metadata_respond_application">
            
            FLAC__stream_decoder_set_metadata_respond_application<span class="signature">(decoder, id)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Direct the decoder to pass on all APPLICATION metadata blocks of the given id.By default, only the STREAMINFO block is returned via the metadata callback.<p>NOTE: only use on un-initilized decoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>id</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of application metadata</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_all">Flac#FLAC__stream_decoder_set_metadata_respond_all</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the decoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_delete">
            
            FLAC__stream_encoder_delete<span class="signature">(encoder)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Delete the encoder instance, and free up its resources.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_finish">
            
            FLAC__stream_encoder_finish<span class="signature">(encoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Finish the encoding process.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if an error occurred processing the last frame;					 or if verify mode is set, there was a verify mismatch; else <code>true</code>.					 If <code>false</code>, caller should check the state with <a href="Flac.html#FLAC__stream_encoder_get_state"><code>Flac#FLAC__stream_encoder_get_state</code></a>					 for more information about the error.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_get_state">
            
            FLAC__stream_encoder_get_state<span class="signature">(encoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamEncoderState.html">Flac.FLAC__StreamEncoderState</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamEncoderState.html">Flac.FLAC__StreamEncoderState</a>
                        
                    
            </td>
            <td class="description last">the encoder state</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_get_verify">
            
            FLAC__stream_encoder_get_verify<span class="signature">(encoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Get the "verify" flag for the encoder.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#FLAC__stream_encoder_set_verify"><code>FLAC__stream_encoder_set_verify</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">the verify flag for the encoder</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_get_verify_decoder_state">
            
            FLAC__stream_encoder_get_verify_decoder_state<span class="signature">(encoder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamDecoderState.html">Flac.FLAC__StreamDecoderState</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Get the state of the verify stream decoder. Useful when the stream encoder state is FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamDecoderState.html">Flac.FLAC__StreamDecoderState</a>
                        
                    
            </td>
            <td class="description last">the verify stream decoder state</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_process">
            
            FLAC__stream_encoder_process<span class="signature">(encoder, channelBuffers, num_of_samples)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Encode / submit data for encoding.Submit data for encoding. This version allows you to supply the input data via an array of pointers,each pointer pointing to an array of samples samples representing one channel.The samples need not be block-aligned, but each channel should have the same number of samples.Each sample should be a signed integer, right-justified to the resolution set by FLAC__stream_encoder_set_bits_per_sample().For example, if the resolution is 16 bits per sample, the samples should all be in the range [-32768,32767].For applications where channel order is important, channels must follow the order as described in the frame header.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>channelBuffers</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;<a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a>></span>



            
            </td>

            

            <td class="description last">
                
                an array for the audio data channels as typed arrays with signed integers (and size according to the set bits-per-sample setting)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>num_of_samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the number of samples in one channel (i.e. one of the buffers)</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">true if successful, else false; in this case, check the encoder state with FLAC__stream_encoder_get_state() to see what went wrong.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_process_interleaved">
            
            FLAC__stream_encoder_process_interleaved<span class="signature">(encoder, buffer, num_of_samples)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Encode / submit data for encoding.This version allows you to supply the input data where the channels are interleaved into asingle array (i.e. channel0_sample0, channel1_sample0, ... , channelN_sample0, channel0_sample1, ...).The samples need not be block-aligned but they must be sample-aligned, i.e. the first value should bechannel0_sample0 and the last value channelN_sampleM.Each sample should be a signed integer, right-justified to the resolution set by bits-per-sample.For example, if the resolution is 16 bits per sample, the samples should all be in the range [-32768,32767].For applications where channel order is important, channels must follow the order as described in the frame header.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>buffer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></span>



            
            </td>

            

            <td class="description last">
                
                the audio data in a typed array with signed integers (and size according to the set bits-per-sample setting)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>num_of_samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the number of samples in buffer</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last">true if successful, else false; in this case, check the encoder state with FLAC__stream_encoder_get_state() to see what went wrong.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_set_blocksize">
            
            FLAC__stream_encoder_set_blocksize<span class="signature">(encoder, block_size)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Set the blocksize to use while encoding.The number of samples to use per frame. Use 0 to let the encoder estimate a blocksize; this is usually best.<p>NOTE: only use on un-initilized encoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>block_size</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the number of samples to use per frame</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#create_libflac_encoder"><code>create_libflac_encoder</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the encoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_set_compression_level">
            
            FLAC__stream_encoder_set_compression_level<span class="signature">(encoder, compression_level)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Set the compression levelThe compression level is roughly proportional to the amount of effort the encoder expends to compress the file. A higher level usually means more computation but higher compression. The default level is suitable for most applications.Currently the levels range from 0 (fastest, least compression) to 8 (slowest, most compression). A value larger than 8 will be treated as 8.<p>NOTE: only use on un-initilized encoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>compression_level</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.CompressionLevel.html">Flac.CompressionLevel</a></span>



            
            </td>

            

            <td class="description last">
                
                the desired Flac compression level: [0, 8]</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#create_libflac_encoder"><code>create_libflac_encoder</code></a></li>
        
            <li><a href="Flac.CompressionLevel.html">Flac.CompressionLevel</a></li>
        
            <li><a target='_blank' href="https://xiph.org/flac/api/group__flac__stream__encoder.html#gae49cf32f5256cb47eecd33779493ac85">FLAC API for FLAC__stream_encoder_set_compression_level()</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the encoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_set_metadata">
            
            FLAC__stream_encoder_set_metadata<span class="signature">(encoder, metadataBuffersPointer, num_blocks)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Set the metadata blocks to be emitted to the stream before encoding. A value of NULL, 0 implies no metadata; otherwise, supply an array of pointers to metadata blocks.The array is non-const since the encoder may need to change the is_last flag inside them, and in some cases update seek point offsets. Otherwise, the encoderwill not modify or free the blocks. It is up to the caller to free the metadata blocks after encoding finishes.<p>    The encoder stores only copies of the pointers in the metadata array; the metadata blocks themselves must survive at least until after FLAC__stream_encoder_finish() returns.    Do not free the blocks until then.    The STREAMINFO block is always written and no STREAMINFO block may occur in the supplied array.    By default the encoder does not create a SEEKTABLE. If one is supplied in the metadata array, but the client has specified that it does not support seeking,    then the SEEKTABLE will be written verbatim. However by itself this is not very useful as the client will not know the stream offsets for the seekpoints ahead of time.    In order to get a proper seektable the client must support seeking. See next note.    SEEKTABLE blocks are handled specially. Since you will not know the values for the seek point stream offsets, you should pass in a SEEKTABLE 'template', that is,    a SEEKTABLE object with the required sample numbers (or placeholder points), with 0 for the frame_samples and stream_offset fields for each point.    If the client has specified that it supports seeking by providing a seek callback to FLAC__stream_encoder_init_stream() or both seek AND read callback to     FLAC__stream_encoder_init_ogg_stream() (or by using FLAC__stream_encoder_init*_file() or FLAC__stream_encoder_init*_FILE()), then while it is encoding the encoder will     fill the stream offsets in for you and when encoding is finished, it will seek back and write the real values into the SEEKTABLE block in the stream. There are helper     routines for manipulating seektable template blocks; see metadata.h: FLAC__metadata_object_seektable_template_*(). If the client does not support seeking,     the SEEKTABLE will have inaccurate offsets which will slow down or remove the ability to seek in the FLAC stream.    The encoder instance will modify the first SEEKTABLE block as it transforms the template to a valid seektable while encoding, but it is still up to the caller to free    all metadata blocks after encoding.    A VORBIS_COMMENT block may be supplied. The vendor string in it will be ignored. libFLAC will use it's own vendor string. libFLAC will not modify the passed-in    VORBIS_COMMENT's vendor string, it will simply write it's own into the stream. If no VORBIS_COMMENT block is present in the metadata array, libFLAC will write an    empty one, containing only the vendor string.    The Ogg FLAC mapping requires that the VORBIS_COMMENT block be the second metadata block of the stream. The encoder already supplies the STREAMINFO block automatically.    If metadata does not contain a VORBIS_COMMENT block, the encoder will supply that too. Otherwise, if metadata does contain a VORBIS_COMMENT block and it is not the first,    the init function will reorder metadata by moving the VORBIS_COMMENT block to the front; the relative ordering of the other blocks will remain as they were.    The Ogg FLAC mapping limits the number of metadata blocks per stream to 65535. If num_blocks exceeds this the function will return false.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>metadataBuffersPointer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.PointerInfo.html">Flac.PointerInfo</a></span>



            
            </td>

            

            <td class="description last">
                
                </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>num_blocks</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                </td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.FLAC__MetadataType.html">Flac.FLAC__MetadataType</a></li>
        
            <li><a href="Flac.html#_create_pointer_array">Flac#_create_pointer_array</a></li>
        
            <li><a href="Flac.html#_destroy_pointer_array">Flac#_destroy_pointer_array</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the encoder is already initialized, else <code>true</code>. <code>false</code> if the encoder is already initialized, or if num_blocks > 65535 if encoding to Ogg FLAC, else true.</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__stream_encoder_set_verify">
            
            FLAC__stream_encoder_set_verify<span class="signature">(encoder, is_verify)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Set the "verify" flag. If true, the encoder will verify it's own encoded output by feeding it through an internal decoder and comparing the original signal against the decoded signal. If a mismatch occurs, the process call will return false. Note that this will slow the encoding process by the extra time required for decoding and comparison.<p>NOTE: only use on un-initilized encoder instances!
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the ID of the encoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>is_verify</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            

            <td class="description last">
                
                enable/disable checksum verification during encoding</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#create_libflac_encoder"><code>create_libflac_encoder</code></a></li>
        
            <li><a href="Flac.html#FLAC__stream_encoder_get_verify"><code>FLAC__stream_encoder_get_verify</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>false</code> if the encoder is already initialized, else <code>true</code></td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="getOptions">
            
            getOptions<span class="signature">(p_coder)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{CodingOptions}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Get coding options for the encoder / decoder instance:returns FALSY when not set.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>p_coder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span>



            
            </td>

            

            <td class="description last">
                
                the encoder/decoder pointer (ID)</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        CodingOptions
                        
                    
            </td>
            <td class="description last">the coding options</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="init_decoder_ogg_stream">
            
            init_decoder_ogg_stream<span class="signature">(decoder, read_callback_fn, write_callback_fn, error_callback_fn, <span class="optional">metadata_callback_fn</span>, <span class="optional">ogg_serial_number</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamDecoderInitStatus.html">Flac.FLAC__StreamDecoderInitStatus</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Initialize the decoder for writing to an OGG container.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the ID of the decoder instance that has not been initialized (or has been reset)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>read_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~decoder_read_callback_fn">Flac~decoder_read_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the callback for reading the Flac data that should get decoded:				<pre>read_callback_fn(numberOfBytes: Number) : {buffer: ArrayBuffer, readDataLength: number, error: boolean}</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>write_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~decoder_write_callback_fn">Flac~decoder_write_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the callback for writing the decoded data:				<pre>write_callback_fn(data: Uint8Array[], frameInfo: Metadata)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>error_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~decoder_error_callback_fn">Flac~decoder_error_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the error callback:				<pre>error_callback_fn(errorCode: Number, errorDescription: String)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>metadata_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~metadata_callback_fn">Flac~metadata_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				callback for receiving the metadata of FLAC data that will be decoded:				<pre>metadata_callback_fn(metadata: StreamMetadata)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ogg_serial_number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				the serial number for the stream in the OGG container that should be decoded.<br/>				The default behavior is to use the serial number of the first Ogg page. Setting a serial number here will explicitly specify which stream is to be decoded.</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamDecoderInitStatus.html">Flac.FLAC__StreamDecoderInitStatus</a>
                        
                    
            </td>
            <td class="description last">the decoder status(<code>0</code> for <code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code>)</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="init_decoder_stream">
            
            init_decoder_stream<span class="signature">(decoder, read_callback_fn, write_callback_fn, error_callback_fn, <span class="optional">metadata_callback_fn</span>, <span class="optional">ogg_serial_number</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamDecoderInitStatus.html">Flac.FLAC__StreamDecoderInitStatus</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Initialize the decoder.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>decoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the ID of the decoder instance that has not been initialized (or has been reset)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>read_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~decoder_read_callback_fn">Flac~decoder_read_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the callback for reading the Flac data that should get decoded:				<pre>read_callback_fn(numberOfBytes: Number) : {buffer: ArrayBuffer, readDataLength: number, error: boolean}</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>write_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~decoder_write_callback_fn">Flac~decoder_write_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the callback for writing the decoded data:				<pre>write_callback_fn(data: Uint8Array[], frameInfo: Metadata)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>error_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~decoder_error_callback_fn">Flac~decoder_error_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the error callback:				<pre>error_callback_fn(errorCode: Number, errorDescription: String)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>metadata_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~metadata_callback_fn">Flac~metadata_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				callback for receiving the metadata of FLAC data that will be decoded:				<pre>metadata_callback_fn(metadata: StreamMetadata)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ogg_serial_number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">boolean</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				if number or <code>true</code> is specified, the decoder will be initilized to				read from an OGG container, see <code>Flac.init_decoder_ogg_stream</code>:<br/>				<code>true</code> will use the default serial number, if specified as number the				corresponding stream with the serial number from the ogg container will be used.</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamDecoderInitStatus.html">Flac.FLAC__StreamDecoderInitStatus</a>
                        
                    
            </td>
            <td class="description last">the decoder status(<code>0</code> for <code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code>)</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="init_encoder_ogg_stream">
            
            init_encoder_ogg_stream<span class="signature">(encoder, write_callback_fn, <span class="optional">metadata_callback_fn</span>, <span class="optional">ogg_serial_number</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamEncoderInitStatus.html">Flac.FLAC__StreamEncoderInitStatus</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Initialize the encoder for writing to an OGG container.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the ID of the encoder instance that has not been initialized (or has been reset)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>write_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~encoder_write_callback_fn">Flac~encoder_write_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the callback for writing the encoded Flac data:				<pre>write_callback_fn(data: Uint8Array, numberOfBytes: Number, samples: Number, currentFrame: Number)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>metadata_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~metadata_callback_fn">Flac~metadata_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				the callback for the metadata of the encoded Flac data:				<pre>metadata_callback_fn(metadata: StreamMetadata)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ogg_serial_number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				the serial number for the stream in the OGG container				DEFAULT: <code>1</code></td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamEncoderInitStatus.html">Flac.FLAC__StreamEncoderInitStatus</a>
                        
                    
            </td>
            <td class="description last">the encoder status (<code>0</code> for <code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code>)</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="init_encoder_stream">
            
            init_encoder_stream<span class="signature">(encoder, write_callback_fn, <span class="optional">metadata_callback_fn</span>, <span class="optional">ogg_serial_number</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.FLAC__StreamEncoderInitStatus.html">Flac.FLAC__StreamEncoderInitStatus</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Initialize the encoder.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encoder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the ID of the encoder instance that has not been initialized (or has been reset)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>write_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~encoder_write_callback_fn">Flac~encoder_write_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                    

                    
                
                the callback for writing the encoded Flac data:				<pre>write_callback_fn(data: Uint8Array, numberOfBytes: Number, samples: Number, currentFrame: Number)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>metadata_callback_fn</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#~metadata_callback_fn">Flac~metadata_callback_fn</a></span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				the callback for the metadata of the encoded Flac data:				<pre>metadata_callback_fn(metadata: StreamMetadata)</pre></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ogg_serial_number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">boolean</span>



            
            </td>

            

            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    

                    
                
                OPTIONAL				if number or <code>true</code> is specified, the encoder will be initialized to				write to an OGG container, see <code>Flac.init_encoder_ogg_stream</code>:				<code>true</code> will set a default serial number (<code>1</code>),				if specified as number, it will be used as the stream's serial number within the ogg container.</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.FLAC__StreamEncoderInitStatus.html">Flac.FLAC__StreamEncoderInitStatus</a>
                        
                    
            </td>
            <td class="description last">the encoder status (<code>0</code> for <code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code>)</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="init_libflac_decoder">
            
            init_libflac_decoder<span class="signature">()</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    

    

    

    

    
<dl class="details">
    

    

    

    
        <dt class="important tag-deprecated">Deprecated</dt><dd><ul class="dummy"><li>use <a href="Flac.html#create_libflac_decoder"><code>create_libflac_decoder</code></a> instead</li><ul></dd>
    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="init_libflac_encoder">
            
            init_libflac_encoder<span class="signature">()</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    

    

    

    

    
<dl class="details">
    

    

    

    
        <dt class="important tag-deprecated">Deprecated</dt><dd><ul class="dummy"><li>use <a href="Flac.html#create_libflac_encoder"><code>create_libflac_encoder</code></a> instead</li><ul></dd>
    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="isReady">
            
            isReady<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Returns if Flac has been initialized / is ready to be used.
    </div>
    

    

    

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#onready"><code>onready</code></a></li>
        
            <li><a href="Flac.html#on"><code>on</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        boolean
                        
                    
            </td>
            <td class="description last"><code>true</code>, if Flac is ready to be used</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="off">
            
            off<span class="signature">(eventName, listener)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Remove an event listener for module-events.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>eventName</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            <td class="description last">
                
                </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>



            
            </td>

            

            <td class="description last">
                
                </td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#on"><code>on</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="on">
            
            on<span class="signature">(eventName, listener)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Add an event listener for module-events.Supported events:<ul> <li> <code>"ready"</code> &rarr; <a href="Flac.html#.event:ReadyEvent"><code>Flac.event:ReadyEvent</code></a>: emitted when module is ready for usage (i.e. <a href="Flac.html#isReady"><code>isReady</code></a> is true)<br/>            <em>NOTE listener will get immediately triggered if module is already <code>"ready"</code></em> </li> <li> <code>"created"</code> &rarr; <a href="Flac.html#.event:CreatedEvent"><code>Flac.event:CreatedEvent</code></a>: emitted when an encoder or decoder instance was created<br/> </li> <li> <code>"destroyed"</code> &rarr; <a href="Flac.html#.event:DestroyedEvent"><code>Flac.event:DestroyedEvent</code></a>: emitted when an encoder or decoder instance was destroyed<br/> </li></ul>
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>eventName</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            <td class="description last">
                
                </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>



            
            </td>

            

            <td class="description last">
                
                </td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#off"><code>off</code></a></li>
        
            <li><a href="Flac.html#onready"><code>onready</code></a></li>
        
            <li><a href="Flac.html#.event:ReadyEvent">Flac.event:ReadyEvent</a></li>
        
            <li><a href="Flac.html#.event:CreatedEvent">Flac.event:CreatedEvent</a></li>
        
            <li><a href="Flac.html#.event:DestroyedEvent">Flac.event:DestroyedEvent</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
        <h5>Example</h5>
        

    
    <pre class="prettyprint"><code>Flac.on('ready', function(event){    //gets executed when library is ready, or becomes ready... });</code></pre>
    


    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="onready">
            
            onready<span class="signature">(event)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Hook for handler function that gets called, when asynchronous initialization has finished.NOTE that if the execution environment does not support <code>Object#defineProperty</code>, then     this function is not called, after <a href="Flac.html#isReady"><code>isReady</code></a> is <code>true</code>.     In this case, <a href="Flac.html#isReady"><code>isReady</code></a> should be checked, before setting <code>onready</code>     and if it is <code>true</code>, handler should be executed immediately instead of setting <code>onready</code>.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>event</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html#.event:ReadyEvent">Flac.event:ReadyEvent</a></span>



            
            </td>

            

            <td class="description last">
                
                the ready-event object</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy"><li>undefined</li></ul></dd>
    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#isReady"><code>isReady</code></a></li>
        
            <li><a href="Flac.html#on"><code>on</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
        <h5>Example</h5>
        

    
    <pre class="prettyprint"><code>// [1] if Object.defineProperty() IS supported: Flac.onready = function(event){    //gets executed when library becomes ready, or immediately, if it already is ready...	   doSomethingWithFlac(); }; // [2] if Object.defineProperty() is NOT supported:	// do check Flac.isReady(), and only set handler, if not ready yet // (otherwise immediately excute handler code) if(!Flac.isReady()){   Flac.onready = function(event){      //gets executed when library becomes ready...		 doSomethingWithFlac();   }; } else {		// Flac is already ready: immediately start processing		doSomethingWithFlac();	}</code></pre>
    


    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="setOptions">
            
            setOptions<span class="signature">(p_coder, options)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Set coding options for an encoder / decoder instance (will / should be deleted, when finish()/delete())
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>p_coder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span>



            
            </td>

            

            <td class="description last">
                
                the encoder/decoder pointer (ID)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">CodingOptions</span>



            
            </td>

            

            <td class="description last">
                
                the coding options</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

        </dl>
    

    
        <h3 class="subsection-title">Type Definitions</h3>

        <dl>
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="~decoder_error_callback_fn">
            
            decoder_error_callback_fn<span class="signature">(errorCode, errorDescription)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        The callback for reporting decoding errors.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>errorCode</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the error code</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>errorDescription</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__StreamDecoderErrorStatus.html">Flac.FLAC__StreamDecoderErrorStatus</a></span>



            
            </td>

            

            <td class="description last">
                
                the string representation / description of the error</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="~decoder_read_callback_fn">
            
            decoder_read_callback_fn<span class="signature">(numberOfBytes)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Flac.ReadResult.html">Flac.ReadResult</a>|<a href="Flac.CompletedReadResult.html">Flac.CompletedReadResult</a>}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        The callback for reading the FLAC data that will be decoded.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>numberOfBytes</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the maximal number of bytes that the read callback can return</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        <a href="Flac.ReadResult.html">Flac.ReadResult</a>
                         | 
                    
                        <a href="Flac.CompletedReadResult.html">Flac.CompletedReadResult</a>
                        
                    
            </td>
            <td class="description last">the result of the reading action/request</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="~decoder_write_callback_fn">
            
            decoder_write_callback_fn<span class="signature">(data, frameInfo)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        The callback for writing the decoded FLAC data.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;<a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</a>></span>



            
            </td>

            

            <td class="description last">
                
                array of the channels with the decoded PCM data as <code>Uint8Array</code>s</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>frameInfo</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.BlockMetadata.html">Flac.BlockMetadata</a></span>



            
            </td>

            

            <td class="description last">
                
                the metadata information for the decoded data</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    

    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="~encoder_write_callback_fn">
            
            encoder_write_callback_fn<span class="signature">(data, numberOfBytes, samples, currentFrame)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{void|false}</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        The callback for writing the encoded FLAC data.
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</a></span>



            
            </td>

            

            <td class="description last">
                
                the encoded FLAC data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>numberOfBytes</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the number of bytes in data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the number of samples encoded in data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>currentFrame</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            <td class="description last">
                
                the number of the (current) encoded frame in data</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    

    
</dl>


    

    

    

    

    
    <h5>Returns:</h5>
    


<table class="params">
    <thead>
    <tr>
        
        <th>Type</th>
        <th class="last">Description</th>
    </tr>
    </thead>
    <tbody>
    
        <tr>
            
            <td class="type">
            
                        void
                         | 
                    
                        false
                        
                    
            </td>
            <td class="description last">returning <code>false</code> indicates that an								unrecoverable error occurred and decoding should be aborted</td>
        </tr>
    
    </tbody>
</table>


    

    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="~metadata_callback_fn">
            
            metadata_callback_fn<span class="signature">(metadata, metadataBlock)</span>
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        The callback for the metadata of the encoded/decoded Flac data.By default, only the STREAMINFO metadata is enabled.For other metadata types <a href="Flac.FLAC__MetadataType.html"><code>Flac.FLAC__MetadataType</code></a> they need to be enabled,see e.g. <a href="Flac.html#FLAC__stream_decoder_set_metadata_respond"><code>Flac#FLAC__stream_decoder_set_metadata_respond</code></a>
    </div>
    

    

    

    
        

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>metadata</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.StreamMetadata.html">Flac.StreamMetadata</a></span>
|

<span class="param-type">undefined</span>



            
            </td>

            

            <td class="description last">
                
                the FLAC meta data, NOTE only STREAMINFO is returned in first argument, for other types use 2nd argument's <code>metadataBlock.data<code></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>metadataBlock</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.MetadataBlock.html">Flac.MetadataBlock</a></span>



            
            </td>

            

            <td class="description last">
                
                the detailed meta data block</td>
        </tr>

    
    </tbody>
</table>

    

    
<dl class="details">
    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#init_decoder_stream">Flac#init_decoder_stream</a></li>
        
            <li><a href="Flac.html#init_encoder_stream">Flac#init_encoder_stream</a></li>
        
            <li><a href="Flac.CodingOptions.html">Flac.CodingOptions</a></li>
        
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_all">Flac#FLAC__stream_decoder_set_metadata_respond_all</a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
</dd>

            </dl>
    

    
        <h3 class="subsection-title">Interface Definitions</h3>

        <dl>
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="ApplicationMetadata">
            
            Flac.ApplicationMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC application metadata blockNOTE the application meta data type is not really supported, i.e. the     (binary) data is only a pointer to the memory heap.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>id</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">the application ID</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">(pointer)</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Flac.FLAC__MetadataType#FLAC__METADATA_TYPE_APPLICATION</li>
        
            <li><a target='_blank' href="https://xiph.org/flac/format.html#metadata_block_application">application block format specification</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="BlockMetadata">
            
            Flac.BlockMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC block meta data
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>blocksize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the block size (bytes)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the number of the decoded samples or frames</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>numberType</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the type to which <code>number</code> refers to: either <code>"frames"</code> or <code>"samples"</code></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>channelAssignment</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__ChannelAssignment.html">Flac.FLAC__ChannelAssignment</a></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the channel assignment</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>crc</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the MD5 checksum for the decoded data, if validation is enabled</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>subframes</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;<a href="Flac.SubFrameMetadata.html">Flac.SubFrameMetadata</a>></span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">the metadata of the subframes. The array length corresponds to the number of channels. NOTE will only be included if <a href="Flac.CodingOptions.html"><code>CodingOptions.analyseSubframes</code></a> is enabled for the decoder.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>sampleRate</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.Metadata.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">the sample rate (Hz)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>channels</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.Metadata.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">the number of channels</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>bitsPerSample</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.Metadata.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">bits per sample</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.CodingOptions.html">Flac.CodingOptions</a></li>
        
            <li><a href="Flac.html#setOptions">Flac#setOptions</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CoderChangedEventData">
            
            Flac.CoderChangedEventData
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Life cycle event data for signaling life cycle changes of encoder or decoder instances
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>id</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the ID for the encoder or decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">"encoder"</span>
|

<span class="param-type">"decoder"</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">signifies whether the event is for an encoder or decoder instance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type">any</span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">specific data for the life cycle change</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#.event:CreatedEvent">Flac.event:CreatedEvent</a></li>
        
            <li><a href="Flac.html#.event:DestroyedEvent">Flac.event:DestroyedEvent</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CodingOptions">
            
            Flac.CodingOptions
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Additional options for encoding or decoding
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>analyseSubframes</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">for decoding: include subframes metadata in write-callback metadata, DEFAULT: false</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>analyseResiduals</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">for decoding: include residual data in subframes metadata in write-callback metadata, NOTE <code>#analyseSubframes</code> muste also be enabled, DEFAULT: false</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>enableRawMetadata</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">DEBUG option for decoding: enable receiving raw metadata for unknown metadata types in second argument in the metadata-callback, DEFAULT: false</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#setOptions">Flac#setOptions</a></li>
        
            <li><a href="Flac.html#~metadata_callback_fn">Flac~metadata_callback_fn</a></li>
        
            <li><a href="Flac.html#FLAC__stream_decoder_set_metadata_respond_all">Flac#FLAC__stream_decoder_set_metadata_respond_all</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CompletedReadResult">
            
            Flac.CompletedReadResult
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Result / return value for <a href="Flac.html#~decoder_read_callback_fn"><code>Flac~decoder_read_callback_fn</code></a> callback function for signifying that there is no more data to read
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>buffer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></span>
|

<span class="param-type">undefined</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">a TypedArray (e.g. Uint8Array) with the read data (will be ignored in case readDataLength is <code>0</code>)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>readDataLength</code></td>
            

            <td class="type">
            
                
<span class="param-type">0</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the number of read data bytes: The number of <code>0</code> (zero) indicates that the end-of-stream is reached.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>error</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                  <span class="inherited"><a href="Flac.ReadResult.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">OPTIONAL value of <code>true</code> indicates that an error occured (decoding will be aborted)</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CompressionLevel">
            
            Flac.CompressionLevel
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Set the compression levelThe compression level is roughly proportional to the amount of effort the encoder expends to compress the file. A higher level usually means more computation but higher compression. The default level is suitable for most applications.Currently the levels range from 0 (fastest, least compression) to 8 (slowest, most compression). A value larger than 8 will be treated as 8.This function automatically calls the following other set functions with appropriate values, so the client does not need to unless it specifically wants to override them:<pre>    FLAC__stream_encoder_set_do_mid_side_stereo()    FLAC__stream_encoder_set_loose_mid_side_stereo()    FLAC__stream_encoder_set_apodization()    FLAC__stream_encoder_set_max_lpc_order()    FLAC__stream_encoder_set_qlp_coeff_precision()    FLAC__stream_encoder_set_do_qlp_coeff_prec_search()    FLAC__stream_encoder_set_do_escape_coding()    FLAC__stream_encoder_set_do_exhaustive_model_search()    FLAC__stream_encoder_set_min_residual_partition_order()    FLAC__stream_encoder_set_max_residual_partition_order()    FLAC__stream_encoder_set_rice_parameter_search_dist()</pre>The actual values set for each level are:| level  | do mid-side stereo  | loose mid-side stereo  | apodization                                    | max lpc order  | qlp coeff precision  | qlp coeff prec search  | escape coding  | exhaustive model search  | min residual partition order  | max residual partition order  | rice parameter search dist   ||--------|---------------------|------------------------|------------------------------------------------|----------------|----------------------|------------------------|----------------|--------------------------|-------------------------------|-------------------------------|------------------------------|| 0      | false               | false                  | tukey(0.5)                                     | 0              | 0                    | false                  | false          | false                    | 0                             | 3                             | 0                            || 1      | true                | true                   | tukey(0.5)                                     | 0              | 0                    | false                  | false          | false                    | 0                             | 3                             | 0                            || 2      | true                | false                  | tukey(0.5)                                     | 0              | 0                    | false                  | false          | false                    | 0                             | 3                             | 0                            || 3      | false               | false                  | tukey(0.5)                                     | 6              | 0                    | false                  | false          | false                    | 0                             | 4                             | 0                            || 4      | true                | true                   | tukey(0.5)                                     | 8              | 0                    | false                  | false          | false                    | 0                             | 4                             | 0                            || 5      | true                | false                  | tukey(0.5)                                     | 8              | 0                    | false                  | false          | false                    | 0                             | 5                             | 0                            || 6      | true                | false                  | tukey(0.5);partial_tukey(2)                    | 8              | 0                    | false                  | false          | false                    | 0                             | 6                             | 0                            || 7      | true                | false                  | tukey(0.5);partial_tukey(2)                    | 12             | 0                    | false                  | false          | false                    | 0                             | 6                             | 0                            || 8      | true                | false                  | tukey(0.5);partial_tukey(2);punchout_tukey(3)  | 12             | 0                    | false                  | false          | false                    | 0                             | 6                             | 0                            |
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_0"</span>



            
            </td>

            

            

            <td class="description last">compression level 0</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_1"</span>



            
            </td>

            

            

            <td class="description last">compression level 1</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_2"</span>



            
            </td>

            

            

            <td class="description last">compression level 2</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_3"</span>



            
            </td>

            

            

            <td class="description last">compression level 3</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_4"</span>



            
            </td>

            

            

            <td class="description last">compression level 4</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_5"</span>



            
            </td>

            

            

            <td class="description last">compression level 5</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>6</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_6"</span>



            
            </td>

            

            

            <td class="description last">compression level 6</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>7</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_7"</span>



            
            </td>

            

            

            <td class="description last">compression level 7</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>8</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__COMPRESSION_LEVEL_8"</span>



            
            </td>

            

            

            <td class="description last">compression level 8</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CueSheetMetadata">
            
            Flac.CueSheetMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC cue sheet metadata block
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>media_catalog_number</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            

            <td class="description last">Media catalog number, in ASCII printable characters 0x20-0x7e. In general, the media catalog number may be 0 to 128 bytes long.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>lead_in</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The number of lead-in samples.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>is_cd</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            

            

            <td class="description last">true if CUESHEET corresponds to a Compact Disc, else false.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>num_tracks</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The number of tracks.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>tracks</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;<a href="Flac.CueSheetTrack.html">Flac.CueSheetTrack</a>></span>



            
            </td>

            

            

            <td class="description last">the tracks</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Flac.FLAC__MetadataType#FLAC__METADATA_TYPE_CUESHEET</li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CueSheetTracIndex">
            
            Flac.CueSheetTracIndex
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC track index data for cue sheet metadata
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>offset</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Offset in samples, relative to the track offset, of the index point.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The index point number.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.CueSheetTrack.html">Flac.CueSheetTrack</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="CueSheetTrack">
            
            Flac.CueSheetTrack
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC cue sheet track data
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>offset</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Track offset in samples, relative to the beginning of the FLAC audio stream.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The track number.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>isrc</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            

            <td class="description last">Track ISRC. This is a 12-digit alphanumeric code.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">"AUDIO"</span>
|

<span class="param-type">"NON_AUDIO"</span>



            
            </td>

            

            

            <td class="description last">The track type: audio or non-audio.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>pre_emphasis</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            

            

            <td class="description last">The pre-emphasis flag</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>num_indices</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The number of track index points.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>indices</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.CueSheetTracIndex.html">Flac.CueSheetTracIndex</a></span>



            
            </td>

            

            

            <td class="description last">The track index points.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.CueSheetMetadata.html">Flac.CueSheetMetadata</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FixedSubFrameData">
            
            Flac.FixedSubFrameData
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        metadata for FIXED subframe type
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>order</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">The polynomial order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>warmup</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Warmup samples to prime the predictor, length == order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>partition</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.SubFramePartition.html">Flac.SubFramePartition</a></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">The residual coding method.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>residual</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">The residual signal, length == (blocksize minus order) samples.									NOTE will only be included if <a href="Flac.CodingOptions.html"><code>CodingOptions.analyseSubframes</code></a> is enabled for the decoder.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__ChannelAssignment">
            
            Flac.FLAC__ChannelAssignment
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        The channel assignment for the (decoded) frame.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT"</span>



            
            </td>

            

            

            <td class="description last">independent channels</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE"</span>



            
            </td>

            

            

            <td class="description last">left+side stereo</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE"</span>



            
            </td>

            

            

            <td class="description last">right+side stereo</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__CHANNEL_ASSIGNMENT_MID_SIDE"</span>



            
            </td>

            

            

            <td class="description last">mid+side stereo</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__EntropyCodingMethodType">
            
            Flac.FLAC__EntropyCodingMethodType
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        entropy coding methods
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE"</span>



            
            </td>

            

            

            <td class="description last">Residual is coded by partitioning into contexts, each with it's own 4-bit Rice parameter.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2"</span>



            
            </td>

            

            

            <td class="description last">Residual is coded by partitioning into contexts, each with it's own 5-bit Rice parameter.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__MetadataType">
            
            Flac.FLAC__MetadataType
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        An enumeration of the available metadata block types.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_STREAMINFO"</span>



            
            </td>

            

            

            <td class="description last">STREAMINFO block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_PADDING"</span>



            
            </td>

            

            

            <td class="description last">PADDING block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_APPLICATION"</span>



            
            </td>

            

            

            <td class="description last">APPLICATION block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_SEEKTABLE"</span>



            
            </td>

            

            

            <td class="description last">SEEKTABLE block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_VORBIS_COMMENT"</span>



            
            </td>

            

            

            <td class="description last">VORBISCOMMENT block (a.k.a. FLAC tags)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_CUESHEET"</span>



            
            </td>

            

            

            <td class="description last">CUESHEET block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>6</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_PICTURE"</span>



            
            </td>

            

            

            <td class="description last">PICTURE block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>7</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__METADATA_TYPE_UNDEFINED"</span>



            
            </td>

            

            

            <td class="description last">marker to denote beginning of undefined type range; this number will increase as new metadata types are added</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>126</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__MAX_METADATA_TYPE"</span>



            
            </td>

            

            

            <td class="description last">No type will ever be greater than this. There is not enough room in the protocol block.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.MetadataBlock.html">Flac.MetadataBlock</a></li>
        
            <li><a target='_blank' href="https://xiph.org/flac/format.html">FLAC format documentation</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__StreamDecoderErrorStatus">
            
            Flac.FLAC__StreamDecoderErrorStatus
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Decoding error codes.<br>If the error code is not known, value <code>FLAC__STREAM_DECODER_ERROR__UNKNOWN__</code> is used.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC"</span>



            
            </td>

            

            

            <td class="description last">An error in the stream caused the decoder to lose synchronization.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER"</span>



            
            </td>

            

            

            <td class="description last">The decoder encountered a corrupted frame header.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH"</span>



            
            </td>

            

            

            <td class="description last">The frame's data did not match the CRC in the footer.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM"</span>



            
            </td>

            

            

            <td class="description last">The decoder encountered reserved fields in use in the stream.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__StreamDecoderInitStatus">
            
            Flac.FLAC__StreamDecoderInitStatus
        </h4>
    </div>

    
</dt>
<dd>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_INIT_STATUS_OK"</span>



            
            </td>

            

            

            <td class="description last">Initialization was successful.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER"</span>



            
            </td>

            

            

            <td class="description last">The library was not compiled with support for the given container format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS"</span>



            
            </td>

            

            

            <td class="description last">A required callback was not supplied.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred allocating memory.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE"</span>



            
            </td>

            

            

            <td class="description last">fopen() failed in FLAC__stream_decoder_init_file() or FLAC__stream_decoder_init_ogg_file().</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED"</span>



            
            </td>

            

            

            <td class="description last">FLAC__stream_decoder_init_*() was called when the decoder was already initialized, usually because FLAC__stream_decoder_finish() was not called.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__StreamDecoderState">
            
            Flac.FLAC__StreamDecoderState
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Decoder state code.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_SEARCH_FOR_METADATA"</span>



            
            </td>

            

            

            <td class="description last">The decoder is ready to search for metadata</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_READ_METADATA"</span>



            
            </td>

            

            

            <td class="description last">The decoder is ready to or is in the process of reading metadata</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC"</span>



            
            </td>

            

            

            <td class="description last">The decoder is ready to or is in the process of searching for the frame sync code</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_READ_FRAME"</span>



            
            </td>

            

            

            <td class="description last">The decoder is ready to or is in the process of reading a frame</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_END_OF_STREAM"</span>



            
            </td>

            

            

            <td class="description last">The decoder has reached the end of the stream</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_OGG_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred in the underlying Ogg layer</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>6</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_SEEK_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred while seeking. The decoder must be flushed with FLAC__stream_decoder_flush() or reset with FLAC__stream_decoder_reset() before decoding can continue</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>7</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_ABORTED"</span>



            
            </td>

            

            

            <td class="description last">The decoder was aborted by the read callback</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>8</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred allocating memory. The decoder is in an invalid state and can no longer be used</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>9</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_DECODER_UNINITIALIZED"</span>



            
            </td>

            

            

            <td class="description last">The decoder is in the uninitialized state; one of the FLAC__stream_decoder_init_*() functions must be called before samples can be processed.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__StreamEncoderInitStatus">
            
            Flac.FLAC__StreamEncoderInitStatus
        </h4>
    </div>

    
</dt>
<dd>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_OK"</span>



            
            </td>

            

            

            <td class="description last">Initialization was successful.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR"</span>



            
            </td>

            

            

            <td class="description last">General failure to set up encoder; call FLAC__stream_encoder_get_state() for cause.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER"</span>



            
            </td>

            

            

            <td class="description last">The library was not compiled with support for the given container format.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS"</span>



            
            </td>

            

            

            <td class="description last">A required callback was not supplied.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS"</span>



            
            </td>

            

            

            <td class="description last">The encoder has an invalid setting for number of channels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE"</span>



            
            </td>

            

            

            <td class="description last">The encoder has an invalid setting for bits-per-sample. FLAC supports 4-32 bps but the reference encoder currently supports only up to 24 bps.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>6</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE"</span>



            
            </td>

            

            

            <td class="description last">The encoder has an invalid setting for the input sample rate.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>7</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE"</span>



            
            </td>

            

            

            <td class="description last">The encoder has an invalid setting for the block size.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>8</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER"</span>



            
            </td>

            

            

            <td class="description last">The encoder has an invalid setting for the maximum LPC order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>9</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION"</span>



            
            </td>

            

            

            <td class="description last">The encoder has an invalid setting for the precision of the quantized linear predictor coefficients.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>10</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER"</span>



            
            </td>

            

            

            <td class="description last">The specified block size is less than the maximum LPC order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>11</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE"</span>



            
            </td>

            

            

            <td class="description last">The encoder is bound to the Subset but other settings violate it.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>12</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA"</span>



            
            </td>

            

            

            <td class="description last">The metadata input to the encoder is invalid, in one of the following ways:																						      FLAC__stream_encoder_set_metadata() was called with a null pointer but a block count > 0																						      One of the metadata blocks contains an undefined type																						      It contains an illegal CUESHEET as checked by FLAC__format_cuesheet_is_legal()																						      It contains an illegal SEEKTABLE as checked by FLAC__format_seektable_is_legal()																						      It contains more than one SEEKTABLE block or more than one VORBIS_COMMENT block</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>13</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED"</span>



            
            </td>

            

            

            <td class="description last">FLAC__stream_encoder_init_*() was called when the encoder was already initialized, usually because FLAC__stream_encoder_finish() was not called.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__StreamEncoderState">
            
            Flac.FLAC__StreamEncoderState
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Encoder state code.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_OK"</span>



            
            </td>

            

            

            <td class="description last">The encoder is in the normal OK state and samples can be processed.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_UNINITIALIZED"</span>



            
            </td>

            

            

            <td class="description last">The encoder is in the uninitialized state; one of the FLAC__stream_encoder_init_*() functions must be called before samples can be processed.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_OGG_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred in the underlying Ogg layer.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred in the underlying verify stream decoder; check FLAC__stream_encoder_get_verify_decoder_state().</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA"</span>



            
            </td>

            

            

            <td class="description last">The verify decoder detected a mismatch between the original audio signal and the decoded audio signal.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_CLIENT_ERROR"</span>



            
            </td>

            

            

            <td class="description last">One of the callbacks returned a fatal error.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>6</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_IO_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An I/O error occurred while opening/reading/writing a file. Check errno.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>7</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_FRAMING_ERROR"</span>



            
            </td>

            

            

            <td class="description last">An error occurred while writing the stream; usually, the write_callback returned an error.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>8</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR"</span>



            
            </td>

            

            

            <td class="description last">Memory allocation failed.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__StreamMetadata_Picture_Type">
            
            Flac.FLAC__StreamMetadata_Picture_Type
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        An enumeration of the PICTURE types (see FLAC__StreamMetadataPicture and id3 v2.4 APIC tag).
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER"</span>



            
            </td>

            

            

            <td class="description last">Other</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD"</span>



            
            </td>

            

            

            <td class="description last">32x32 pixels 'file icon' (PNG only)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON"</span>



            
            </td>

            

            

            <td class="description last">Other file icon</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER"</span>



            
            </td>

            

            

            <td class="description last">Cover (front)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>4</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER"</span>



            
            </td>

            

            

            <td class="description last">Cover (back)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>5</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE"</span>



            
            </td>

            

            

            <td class="description last">Leaflet page</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>6</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA"</span>



            
            </td>

            

            

            <td class="description last">Media (e.g. label side of CD)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>7</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST"</span>



            
            </td>

            

            

            <td class="description last">Lead artist/lead performer/soloist</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>8</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST"</span>



            
            </td>

            

            

            <td class="description last">Artist/performer</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>9</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR"</span>



            
            </td>

            

            

            <td class="description last">Conductor</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>10</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_BAND"</span>



            
            </td>

            

            

            <td class="description last">Band/Orchestra</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>11</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER"</span>



            
            </td>

            

            

            <td class="description last">Composer</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>12</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST"</span>



            
            </td>

            

            

            <td class="description last">Lyricist/text writer</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>13</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION"</span>



            
            </td>

            

            

            <td class="description last">Recording Location</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>14</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING"</span>



            
            </td>

            

            

            <td class="description last">During recording</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>15</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE"</span>



            
            </td>

            

            

            <td class="description last">During performance</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>16</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE"</span>



            
            </td>

            

            

            <td class="description last">Movie/video screen capture</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>17</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_FISH"</span>



            
            </td>

            

            

            <td class="description last">A bright coloured fish</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>18</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION"</span>



            
            </td>

            

            

            <td class="description last">Illustration</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>19</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE"</span>



            
            </td>

            

            

            <td class="description last">Band/artist logotype</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>20</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE"</span>



            
            </td>

            

            

            <td class="description last">Publisher/Studio logotype</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.PictureMetadata.html">Flac.PictureMetadata</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="FLAC__SubframeType">
            
            Flac.FLAC__SubframeType
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        The types for FLAC subframes
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>0</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__SUBFRAME_TYPE_CONSTANT"</span>



            
            </td>

            

            

            <td class="description last">constant signal</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>1</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__SUBFRAME_TYPE_VERBATIM"</span>



            
            </td>

            

            

            <td class="description last">uncompressed signal</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>2</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__SUBFRAME_TYPE_FIXED"</span>



            
            </td>

            

            

            <td class="description last">fixed polynomial prediction</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>3</code></td>
            

            <td class="type">
            
                
<span class="param-type">"FLAC__SUBFRAME_TYPE_LPC"</span>



            
            </td>

            

            

            <td class="description last">linear prediction</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="LPCSubFrameData">
            
            Flac.LPCSubFrameData
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        metadata for LPC subframe type
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>order</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">The FIR order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>qlp_coeff</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">FIR filter coefficients.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>qlp_coeff_precision</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">Quantized FIR filter coefficient precision in bits.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>quantization_level</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">The qlp coeff shift needed.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>warmup</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.FixedSubFrameData.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">Warmup samples to prime the predictor, length == order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>partition</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.SubFramePartition.html">Flac.SubFramePartition</a></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.FixedSubFrameData.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">The residual coding method.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>residual</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                  <span class="inherited"><a href="Flac.FixedSubFrameData.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">The residual signal, length == (blocksize minus order) samples.									NOTE will only be included if <a href="Flac.CodingOptions.html"><code>CodingOptions.analyseSubframes</code></a> is enabled for the decoder.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="Metadata">
            
            Flac.Metadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC meta data
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>sampleRate</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">the sample rate (Hz)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>channels</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">the number of channels</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>bitsPerSample</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">bits per sample</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="MetadataBlock">
            
            Flac.MetadataBlock
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC raw metadata
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__MetadataType.html">Flac.FLAC__MetadataType</a></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the type of the metadata</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>isLast</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">if it is the last block of metadata</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>length</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the length of the metadata block (bytes)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.StreamMetadata.html">Flac.StreamMetadata</a></span>
|

<span class="param-type"><a href="Flac.PaddingMetadata.html">Flac.PaddingMetadata</a></span>
|

<span class="param-type"><a href="Flac.ApplicationMetadata.html">Flac.ApplicationMetadata</a></span>
|

<span class="param-type"><a href="Flac.SeekTableMetadata.html">Flac.SeekTableMetadata</a></span>
|

<span class="param-type"><a href="Flac.CueSheetMetadata.html">Flac.CueSheetMetadata</a></span>
|

<span class="param-type"><a href="Flac.PictureMetadata.html">Flac.PictureMetadata</a></span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">the metadata (omitted for unknown metadata types)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>raw</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</a></span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">raw metadata (for debugging: enable via <a href="Flac.html#setOptions"><code>Flac#setOptions</code></a>)</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="PaddingMetadata">
            
            Flac.PaddingMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC padding metadata block
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>dummy</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Conceptually this is an empty struct since we don't store the padding bytes. Empty structs are not allowed by some C compilers, hence the dummy.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Flac.FLAC__MetadataType#FLAC__METADATA_TYPE_PADDING</li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="PictureMetadata">
            
            Flac.PictureMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC picture metadata block
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__StreamMetadata_Picture_Type.html">Flac.FLAC__StreamMetadata_Picture_Type</a></span>



            
            </td>

            

            

            <td class="description last">The kind of picture stored.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>mime_type</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            

            <td class="description last">Picture data's MIME type, in ASCII printable characters 0x20-0x7e, NUL terminated. For best compatibility with players, use picture data of MIME type image/jpeg or image/png. A MIME type of '–>' is also allowed, in which case the picture data should be a complete URL.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>description</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            

            <td class="description last">Picture's description.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>width</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Picture's width in pixels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>height</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Picture's height in pixels.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>depth</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Picture's color depth in bits-per-pixel.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>colors</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">For indexed palettes (like GIF), picture's number of colors (the number of palette entries), or 0 for non-indexed (i.e. 2^depth).</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data_length</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">Length of binary picture data in bytes.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</a></span>



            
            </td>

            

            

            <td class="description last">Binary picture data.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="PointerInfo">
            
            Flac.PointerInfo
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Helper object for allocating an array of buffers on the (memory) heap.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>pointerPointer</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">pointer to the array of (pointer) buffers</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>dataPointer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            

            

            <td class="description last">array of pointers to the allocated data arrays (i.e. buffers)</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#_create_pointer_array">Flac#_create_pointer_array</a></li>
        
            <li><a href="Flac.html#_destroy_pointer_array">Flac#_destroy_pointer_array</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="ReadResult">
            
            Flac.ReadResult
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        Result / return value for <a href="Flac.html#~decoder_read_callback_fn"><code>Flac~decoder_read_callback_fn</code></a> callback function
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>buffer</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</a></span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">a TypedArray (e.g. Uint8Array) with the read data</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>readDataLength</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the number of read data bytes. A number of <code>0</code> (zero) indicates that the end-of-stream is reached.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>error</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>



            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last">OPTIONAL value of <code>true</code> indicates that an error occured (decoding will be aborted)</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="SeekPoint">
            
            Flac.SeekPoint
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC seek point data
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>sample_number</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The sample number of the target frame. NOTE <code>-1</code> for a placeholder point.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>stream_offset</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The offset, in bytes, of the target frame with respect to beginning of the first frame.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>frame_samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The number of samples in the target frame.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.SeekTableMetadata.html">Flac.SeekTableMetadata</a></li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="SeekTableMetadata">
            
            Flac.SeekTableMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC seek table metadata block<p>From the format specification:The seek points must be sorted by ascending sample number.Each seek point's sample number must be the first sample of the target frame.Each seek point's sample number must be unique within the tableExistence of a SEEKTABLE block implies a correct setting of total_samples in the stream_info block.Behavior is undefined when more than one SEEKTABLE block is present in a stream.
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>num_points</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">the number of seek points</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>points</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;<a href="Flac.SeekPoint.html">Flac.SeekPoint</a>></span>



            
            </td>

            

            

            <td class="description last">the seek points</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Flac.FLAC__MetadataType#FLAC__METADATA_TYPE_SEEKTABLE</li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="StreamMetadata">
            
            Flac.StreamMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC stream meta data
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>min_blocksize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the minimal block size (bytes)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>max_blocksize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the maximal block size (bytes)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>min_framesize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the minimal frame size (bytes)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>max_framesize</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the maximal frame size (bytes)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>total_samples</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the total number of (encoded/decoded) samples</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>md5sum</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last">the MD5 checksum for the decoded data (if validation is active)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>sampleRate</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.Metadata.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">the sample rate (Hz)</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>channels</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.Metadata.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">the number of channels</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>bitsPerSample</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            
                <td class="attributes">
                

                

                
                  <span class="inherited"><a href="Flac.Metadata.html">inherited</a></span>
                
                </td>
            

            

            <td class="description last">bits per sample</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="SubFrameMetadata">
            
            Flac.SubFrameMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC subframe metadata
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__SubframeType.html">Flac.FLAC__SubframeType</a></span>



            
            </td>

            

            

            <td class="description last">the type of the subframe</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type"><a href="Flac.FixedSubFrameData.html">Flac.FixedSubFrameData</a></span>
|

<span class="param-type"><a href="Flac.LPCSubFrameData.html">Flac.LPCSubFrameData</a></span>



            
            </td>

            

            

            <td class="description last">the type specific metadata for subframe</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>wastedBits</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">the wasted bits-per-sample</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="SubFramePartition">
            
            Flac.SubFramePartition
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        metadata for FIXED or LPC subframe partitions
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.FLAC__EntropyCodingMethodType.html">Flac.FLAC__EntropyCodingMethodType</a></span>



            
            </td>

            

            

            <td class="description last">the entropy coding method</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>data</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.SubFramePartitionData.html">Flac.SubFramePartitionData</a></span>



            
            </td>

            

            

            <td class="description last">metadata for a Rice partitioned residual</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="SubFramePartitionContent">
            
            Flac.SubFramePartitionContent
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        metadata for FIXED or LPC subframe partition data content
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>parameters</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            

            

            <td class="description last">The Rice parameters for each context.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>rawBits</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;number></span>



            
            </td>

            

            

            <td class="description last">Widths for escape-coded partitions. Will be non-zero for escaped partitions and zero for unescaped partitions.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>capacityByOrder</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The capacity of the parameters and raw_bits arrays specified as an order, i.e. the number of array elements allocated is 2 ^ capacity_by_order.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="SubFramePartitionData">
            
            Flac.SubFramePartitionData
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        metadata for FIXED or LPC subframe partition data
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>order</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">The partition order, i.e. # of contexts = 2 ^ order.</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>contents</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.SubFramePartitionContent.html">Flac.SubFramePartitionContent</a></span>



            
            </td>

            

            

            <td class="description last">The context's Rice parameters and/or raw bits.</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    

    
</dl>


    
</dd>

            
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="VorbisCommentMetadata">
            
            Flac.VorbisCommentMetadata
        </h4>
    </div>

    
</dt>
<dd>
    
    <div class="description">
        FLAC vorbis comment metadata block
    </div>
    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>vendor_string</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>



            
            </td>

            

            

            <td class="description last">the vendor string</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>num_comments</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>



            
            </td>

            

            

            <td class="description last">the number of comments</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>comments</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a target='_blank' href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>.&lt;string></span>



            
            </td>

            

            

            <td class="description last">the comments</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li>Flac.FLAC__MetadataType#FLAC__METADATA_TYPE_VORBIS_COMMENT</li>
        </ul>
    </dd>
    

    
</dl>


    
</dd>

            </dl>
    

    
        <h3 class="subsection-title">Events</h3>

        <dl>
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id=".event:CreatedEvent">
            
            Flac.event:CreatedEvent
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Created event: is fired when an encoder or decoder was created.
    </div>
    

    
        <h5>Type:</h5>
        <ul>
            <li>
                
<span class="param-type">object</span>



            </li>
        </ul>
    

    

    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">"created"</span>



            
            </td>

            

            

            <td class="description last">the type of the event <code>"created"</code></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>target</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.CoderChangedEventData.html">Flac.CoderChangedEventData</a></span>



            
            </td>

            

            

            <td class="description last">the information for the created encoder or decoder</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#on"><code>on</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id=".event:DestroyedEvent">
            
            Flac.event:DestroyedEvent
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Destroyed event: is fired when an encoder or decoder was destroyed.
    </div>
    

    
        <h5>Type:</h5>
        <ul>
            <li>
                
<span class="param-type">object</span>



            </li>
        </ul>
    

    

    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">"destroyed"</span>



            
            </td>

            

            

            <td class="description last">the type of the event <code>"destroyed"</code></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>target</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.CoderChangedEventData.html">Flac.CoderChangedEventData</a></span>



            
            </td>

            

            

            <td class="description last">the information for the destroyed encoder or decoder</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#on"><code>on</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id=".event:ReadyEvent">
            
            Flac.event:ReadyEvent
        </h4>

        
    </div>

    
</dt>
<dd>

    
    <div class="description">
        Ready event: is fired when the library has been initialized and is ready to be used(e.g. asynchronous loading of binary / WASM modules has been completed).Before this event is fired, use of functions related to encoding and decoding maycause errors.
    </div>
    

    
        <h5>Type:</h5>
        <ul>
            <li>
                
<span class="param-type">object</span>



            </li>
        </ul>
    

    

    

    
<dl class="details">
    

        <h5 class="subsection-title">Properties:</h5>

        <dl>

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">"ready"</span>



            
            </td>

            

            

            <td class="description last">the type of the event <code>"ready"</code></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>target</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="Flac.html">Flac</a></span>



            
            </td>

            

            

            <td class="description last">the initalized FLAC library instance</td>
        </tr>

    
    </tbody>
</table>
</dl>

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-see">See:</dt>
    <dd class="tag-see">
        <ul>
            <li><a href="Flac.html#isReady"><code>isReady</code></a></li>
        
            <li><a href="Flac.html#on"><code>on</code></a></li>
        </ul>
    </dd>
    

    
</dl>


    

    

    

    

    

    
</dd>

        </dl>
    
</article>

</section>





        

        <footer>
            Documentation generated by <a target='_blank' href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.4</a>
        </footer>
    </div>
</div>
<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
<script src="scripts/main.js"></script>
</body>
</html>